#!/bin/bash
#
# Este script cambia la clave de un usuario en Samba
#
 
 # Obtener la ruta absoluta del script
 LSOF=$(lsof 2>/dev/null -p $$ | grep -E "/"$(basename $0)"$")
 MY_PATH=$(echo $LSOF | sed -r s/'^([^\/]+)\/'/'\/'/1 2>/dev/null)
 MY_ROOT=$(dirname $MY_PATH)


 # Cargar la configuracion del servidor Samba
 . $MY_ROOT/Config.app.conf

 # Para los temporales...
 tmpFile=/tmp/smbGrp_$$_$RANDOM


 # Listar los Grupos de Samba
 net rpc -S $SMB_Server -U $SMB_Credentials group list >$tmpFile.samba

 # Listar los grupos  de OpenLDAP
 ldapsearch -x -h $LDAP_Server -D "$LDAP_Login" -w $LDAP_Passw -b "$LDAP_Base" '(&(objectClass=sambaGroupMapping)(!(sambaSID=S-1-5-32*)))' -LLL cn description | perl -ne 'if($_=~m/^\s+(\S.+)\s+$/) {print "$1";}else{ $_=~m/^(.+)\s+$/; print "\n$1";}' >$tmpFile.ldap

 # Obtener la lista ya formateada
 perl  $MY_ROOT/simplifyGroupList.pl $tmpFile.samba $tmpFile.ldap $MY_ROOT/../GroupsBlacklist


 rm $tmpFile.* -f 2>/dev/null
 
